<html>
	<head>
		<title>kinds</title>
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
		<meta name="viewport" content="width=device-width initial-scale=1">
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<meta http-equiv="Content-Language" content="en-gb">

<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
		
	</head>
	<body class="commentary-font">
		<nav role="navigation">
		<h1><a href="../index.html"><img src="../docs-assets/Inform.png" height=72> </a></h1>
<ul><li><a href="../index.html">home</a></li>
</ul><h2>Compiler</h2><ul>
<li><a href="../structure.html">structure</a></li>
<li><a href="../inbuildn.html">inbuild</a></li>
<li><a href="../inform7n.html">inform7</a></li>
<li><a href="../intern.html">inter</a></li>
<li><a href="../services.html">services</a></li>
<li><a href="../secrets.html">secrets</a></li>
</ul><h2>Other Tools</h2><ul>
<li><a href="../inblorbn.html">inblorb</a></li>
<li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li>
</ul><h2>Resources</h2><ul>
<li><a href="../extensions.html">extensions</a></li>
<li><a href="../kits.html">kits</a></li>
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=0> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=0> inweb</a></li>
<li><a href="https://github.com/ganelson/intest"><img src="../docs-assets/github.png" height=0> intest</a></li>
</ul>
		</nav>
		<main role="main">
		<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../services.html">Services</a></li><li><b>kinds</b></li></ul>
		<p class="purpose">The type system used by Inform. This is version 1.</p>
		<hr>
		<div class="contentspage">
			<ul class="chapterlist">
				<li>
					<p class="chapterentry"><a name="P"></a>
						<span class="chaptertitle">Preliminaries</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="P-wtmd.html">
								<spon class="sectiontitle">What This Module Does</span></a> -
							<span class="sectionpurpose">An overview of the kinds module's role and abilities.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="P-htitm.html">
								<spon class="sectiontitle">How To Include This Module</span></a> -
							<span class="sectionpurpose">What to do to make use of the kinds module in a new command-line tool.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="1"></a>
						<span class="chaptertitle">Chapter 1: Starting Up</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="1-km.html">
								<spon class="sectiontitle">Kinds Module</span></a> -
							<span class="sectionpurpose">Setting up the use of this module.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="2"></a>
						<span class="chaptertitle">Chapter 2: Kinds</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="2-knd.html">
								<spon class="sectiontitle">Kinds</span></a> -
							<span class="sectionpurpose">To build tree structures which represent Inform's universe of kinds.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-fk.html">
								<spon class="sectiontitle">Familiar Kinds</span></a> -
							<span class="sectionpurpose">To recognise certain kind names as familiar built-in ones.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-tlok.html">
								<spon class="sectiontitle">The Lattice of Kinds</span></a> -
							<span class="sectionpurpose">Placing a partial order on kinds according to whether one conforms to another.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-dk.html">
								<spon class="sectiontitle">Describing Kinds</span></a> -
							<span class="sectionpurpose">Translating kinds to and from textual descriptions.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="2-uk.html">
								<spon class="sectiontitle">Using Kinds</span></a> -
							<span class="sectionpurpose">To determine the characteristics of different kinds, enabling them to be used in practice.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="3"></a>
						<span class="chaptertitle">Chapter 3: Arithmetic</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="3-dmn.html">
								<spon class="sectiontitle">Dimensions</span></a> -
							<span class="sectionpurpose">To keep a small database indicating the physical dimensions of numerical values, and how they combine: for instance, allowing us to specify that a length times a length is an area.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-fv.html">
								<spon class="sectiontitle">Floating-Point Values</span></a> -
							<span class="sectionpurpose">To cope with promotions from integer to floating-point arithmetic.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="3-sav.html">
								<spon class="sectiontitle">Scaled Arithmetic Values</span></a> -
							<span class="sectionpurpose">To manage the scalings and offsets used when storing arithmetic values at run-time, and/or when using scaled units to refer to them.</span></p>
						</li>
					</ul>
				</li>
				<li>
					<p class="chapterentry"><a name="4"></a>
						<span class="chaptertitle">Chapter 4: Constructors</span></p>
					<ul class="sectionlist">
						<li>
							<p class="sectionentry"><a href="4-abgtn.html">
								<spon class="sectiontitle">A Brief Guide to Neptune</span></a> -
							<span class="sectionpurpose">A manual for the mini-language used in Neptune files.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-nf.html">
								<spon class="sectiontitle">Neptune Files</span></a> -
							<span class="sectionpurpose">To read in details of built-in kind constructors from so-called Neptune files, setting them up ready for use.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-ns.html">
								<spon class="sectiontitle">Neptune Syntax</span></a> -
							<span class="sectionpurpose">To parse individual commands from Neptune files.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-mcr.html">
								<spon class="sectiontitle">Macros</span></a> -
							<span class="sectionpurpose">Neptune supports named macros, though they are only lists of kind commands.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-st.html">
								<spon class="sectiontitle">Star Templates</span></a> -
							<span class="sectionpurpose">Allowing Neptune files to generate additional source text.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-kc.html">
								<spon class="sectiontitle">Kind Commands</span></a> -
							<span class="sectionpurpose">To apply a given command to a given kind constructor.</span></p>
						</li>
						<li>
							<p class="sectionentry"><a href="4-kc2.html">
								<spon class="sectiontitle">Kind Constructors</span></a> -
							<span class="sectionpurpose">The mechanism by which Inform records the characteristics of different kinds.</span></p>
						</li>
					</ul>
				</li>
			</ul>
		</div>
		<hr>
		<p class="purpose">Powered by <a href="https://github.com/ganelson/inweb">Inweb</a>.</p>
		</main>
	</body>
</html>

